home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Collection of Tools & Utilities
/
Collection of Tools and Utilities.iso
/
asmutil
/
bxd26.zip
/
BXD2.DOC
< prev
next >
Wrap
Text File
|
1989-05-28
|
15KB
|
374 lines
b r a n d X S Y M B O L I C D E B U G G E R
version 2.6
by Sonam G. Gyato
What is bXd:
This software is a full-screen debugger for the IBM series of
personal computers and very close compatibles. The major feature
of bXd is its ability to run without disturbing the display
screen of the program being debugged. It supports both the MDA
and CGA boards (also CGA specific modes of EGA).
Some of the other features are:
- Support for Symbol Files
With this feature code will be disassembled using label
names and addresses can be specified using label names.
Two symbol file formats are supported; including the
format generated by the widely used MicroSoft linker.
- NMI Reset Switch
This requires a hardware switch and gives a user the
ability to trap any program at the press of a button
(even if interrupts are off).
By default, this trap is disabled because it causes
problems with some EGA boards.
- Conditional Breakpoints
Users can set up to 10 breakpoints that can be triggered
when user-set conditions are satisfied. For example, a
breakpoint can be enabled only when AX register is
greater than 10 and when the Zero-bit of the flag
register is set.
- Online Help
Detailed descriptions on all the available commands.
First time users are encouraged to go through them all at
least once.
Design Philosophy:
Simple, but can also cut the mustard.
During the design phase of this software, the user and his
goal when running any debugger was kept very much in mind.
Together, the command set, screen design and the user-interface
enable any program to be debugged effectively and transparently.
After a few debugging sessions, you won't have to worry about
how to use bXd and can instead concentrate on your goal -
debugging your code.
Software for Bacon Deal:
bXd is a "shareware" software. You most probably got it from a
bulletin board or a friend at no cost to you. After using it for
sometime, I'm sure you'll appreciate not only the capability but
also the overall design of this software. You are invited to use
and distribute it to whomever you wish. This is my contribution
to the "shareware" concept.
You must understand that someone, namely yours truly, spent
quite a few hours on this software's development. It seems only
natural that I, like other independent software developers, be
encouraged so that users like you continue to have access to good
software at a reasonable cost. This encouragement and your
contribution to the "shareware" concept takes in the form of the
user sending in a registration fee.
Sending in of this contribution is usually the end of most
"software for bacon" deals - not so this one. If you send the
contribution, you will receive a copy of the non-shareware
version of bXd (bXd3). The '3' at the end of bXd is fully
warranted. There are two major additions and they are -
- Source-Code Debugging
This option will support all the compilers that generate
source-information and that can be linked using MS linker.
This includes MicroSoft C and Turbo C (other languages ok
also). It will -
- display in src or src/asm mode
- auto-sync of code and source information
- unlimited number of source files
- Dual Monitor Display
One disadvantage using a full-screen debugger to debug
graphics program with one monitor, is that the target program
cannot access the screen directly. With this new dual-monitor
debugging ability (two monitors with different adapters
required) there is no such restriction. Your program can
access the video screen and the adaptor board directly.
I hope that the addition of these two extra features, a
printed manual and a guarantee of a better product will urge you
to keep your part of the "shareware" bargain (pun intended) and
send in the bacon.
Please send your contribution of $35 to:
Sonam G. Gyato
240, 76th Street
North Bergen, NJ 07047
bXd AND YOUR PROGRAM:
Below is the format of invoking bXd from the DOS prompt.
A>bXd userprog [user_arguments] [<userCON.txt]
1. The first argument is the name of the file to be debugged
(target prog). If no extension is given, bXd tries first to
load a COM and then an EXE file. The status of the loading
will be displayed.
If a program is loaded, then bXd tries to load the symbol file
associated it. First a SYM and then a MAP format file. More on
the formats later.
2. The second set of arguments is what will be passed to your
program in a buffer as its command line input. When the main
bXd screen is displayed initially, this buffer (DS:80) is
displayed in the data window.
3. bXd does not use DOS for its console i/o. So if the target
prog expects a constant sequence of chars, it could be
redirected from a file. You can also redirect the DOS output.
SCREEN FORMAT:
The bXd screen is divided into six different windows.
USER
This is the window from which all comds are issued. There are
two ways of doing it
- Line-Input Command (LIC)
This is the method used by most debuggers. You type a
command id followed by optional arguments.
- Special-Key Command (SKC)
The second method is through using a single key, like the
function or the cursor keys. You can invoke these even
when you're in the middle of a LIC.
CODE
The program code is unassembled in this window. If a symbol
file was loaded, defined addressed will be displayed using
their variable equivalent. You can scroll the info from the
USER window using the cursor keys.
REGISTER
The user register values are displayed in this window. You can
edit the values using the 'R' Line-Input command.
DATA
Memory is displayed in this section in both hex and ascii
formats. Using the FK3 and FK4, you can select which of the
two available windows will be primary.
You can scroll the info in the primary data window from the
USER window with the <cntrl-PgUp> and <cntrl-PgDn> keys.
STACK
The current value pointed to by the stack pointer (SS:SP) is
displayed at the bottom of the window. The values displayed
above it are the subsequent memory locations.
CURRENT WINDOW HELP
You can move the cursor to other windows besides the USER.
This window displays a brief help text on the window the
cursor is in.
COMMANDS
Single-Input Commands:
FK1 Display the online help menu.
You can choose a command by pressing the hi-lighted
letter in each topic header. You can also accomplish the
same by moving the topic-selector bar with the cursor
keys and then pressing RETURN when the bar is over the
topic header.
Press ESC to quit.
FK2 Display the target program's display.
Once displayed, press any key to return to bXd screen.
TECHNICAL:
Since there is a limited amount of video memory present
and both the target and bXd's display has to co-exist,
there are restrictions to how the target program accesses
the display.
MDA There is only one display page in monochrome mode,
therefore the target program cannot access the video
RAM directly. It must go through DOS or BIOS level
routines.
CGA In CGA equipped pc's, bXd uses the last of the four
text pages (BB00:0). This means that in text modes,
target programs can write directly to the screen for
the first three pages. It will have to go though DOS
or BIOS level routines for the fourth page.
In graphics modes, CGA needs all of the 16K